/**
 * 文件系统
 */
// 载入文件系统模块
var fs = require('fs');
var file_name 	 = 'test.txt'		// 文件名称
	,file_data	 = null;		// 文件内容


/**
 * 读取文件 - 阻塞同步方式
 * @param String file_name		文件名
 * @return String|Boolean
 */
function get_file_contents_sync(file_name=null){
	var file_data = '';		// 文件内容
	
	// 检测文件是否存在
	if(!fs.existsSync(file_name)) {
		console.log(file_name + " 文件不存在！");
		return false;
	}
	
	// 读取文件
	file_data = fs.readFileSync(file_name);
	
	return file_data.toString();
}

/**
 * 读取文件 - 非阻塞异步方式
 * @param String file_name 文件名
 * @return 
 */
function get_file_contents_async(file_name=null, callback=null){
	// 检测文件是否存在(文件的权限检测)
	fs.access(file_name, (err) => {
		// 检测错误
		if(err){
			console.log("文件不存在或无操作权限！Error:"+err);
			return false;
		}
		
		// 读取文件
		fs.readFile(file_name, (err, data) => {
			// 读取错误
			if(err){
				console.log("文件读取失败！Error:"+err);
				return false;
			}

			// 无回调返回数据
			if(!callback) return data.toString();
			
			// 读取成功，回调用户函数
			callback(data.toString());
		});
	});
}

// 同步读取文件
//file_data = get_file_contents_sync(file_name);
//console.log(file_data);

// 异步读取文件
get_file_contents_async(file_name, function(result){
	console.log(result);
});


